In many instances, it is desirable to learn the path that network traffic takes between a source host and a destination host. A well-known path discovery tool, referred to as “traceroute,” can be used to learn the path that network traffic takes between a source host and a destination host. Although traceroute works well in simple networks, complications can arise in more complex networks that have multiple different possible paths between the source host and the destination host and that employ load balancing routers to distribute traffic amongst the different paths. Another tool, referred to as “Paris traceroute,” can be used to enumerate all of the possible paths between a source host and a destination host. Although Paris traceroute works well to enumerate all of the possible paths between a source host and a destination host, Paris traceroute does not specify which particular path, amongst the multiple possible paths, will be traveled by specific packets that are generated from a user application such as HTTP that operates at, for example, the application layer.